package com.okami.enumm;

import org.springframework.http.HttpStatus;
import org.springframework.lang.Nullable;

enum UnitEnum {
//    重量：克、千克、盎司、磅、公吨、长吨、短吨
//    个数：只、件、套、打、罗、令
//    长度：米、码
//    面积：平方米、平方码
//    体积：立方米、立方码
//    容积：升、加仑、蒲式耳

    /**
     *  个数
     */
    zhi("只"),
    jian("件"),
    tao("套"),
    he("盒"),
    da("打"),
    luo("罗"),
    ling("令"),
    tai("台"),
    bu("部"),
    shuang("双"),
    ge("个"),
    /**
     *  长度
     */
    mi("米"),
    ma("码"),
    /**
     *  面积
     */
    pingfangmi("平方米"),
    pingfangma("平方码");


    private String unit;

    UnitEnum(String unit) {
        this.unit = unit;
    }

    public String getUnit() {
        return this.unit;
    }

    public static UnitEnum converter(String unit) {
        UnitEnum unitEnum = resolve(unit);
        if (unitEnum == null) {
            throw new IllegalArgumentException("No matching constant for [" + unit + "]");
        }
        return unitEnum;
    }

    private static UnitEnum resolve(String unit) {
        for (UnitEnum unitEnum : values()) {
            if (unitEnum.unit.equals(unit)) {
                return unitEnum;
            }
        }
        return null;
    }
}
